The present invention relates generally to an apparatus and method for testing logic on circuit chips. In particular, the present invention relates to fabrication of the test logic within the main logic of a chip for partial scan built in self test on a circuit chip.
The present trend in integrated circuit design is toward higher levels of circuit integration, thereby reducing costs and improving circuit reliability. As IC technologies continue to develop, it is expected that circuits with at least 100,000,000 devices will become common.
Increased circuit integration is not, however, obtained without drawbacks. Increasing chip testing costs tend to reduce the benefits derived from more economically efficient design and production techniques. The costs associated with integrated circuit chip testing increase in proportion to the number of devices thereon. Much expense is incurred in the development of computer programs for running test routines. The engineering effort and computer time needed to devise these test routines can even exceed the requirements for designing the chip itself. It is not uncommon to employ as many engineers to develop tests for an IC to assure the quality of the part as the number of engineers designing a part. In addition, for particular types of circuits, circuit chip testing costs now account for roughly 10 to 40 percent of the total manufacturing costs.
A testing technique that is becoming, increasingly popular, is the built-in self-test technique. As its name implies, built-in self-test, or BIST, test systems are fabricated on the IC chip to be tested. BIST systems include a pattern or operand generator for producing test operands. Each test operand is applied to the IC logic, and the response thereto analyzed by means of a shift register. The response to thousands, and even millions, of test operands is then compressed into a xe2x80x9csignaturexe2x80x9d, which is compared to predetermined signatures for a go/no go indication of the IC""s operation. One such BIST system is disclosed in the Van Brunt U.S. Pat. No. 4,357,703.
The BIST approach to circuit testing offers numerous advantages. BIST has minimal impact upon main logic functions since it is typically fabricated on the sparsely used peripheral areas of the integrated circuit chip. Since test results are processed by the BIST system, the number of tasks which must be performed by external test equipment is reduced. Specially developed maintenance software is therefore greatly reduced. Dynamic testing at full system clock rates significantly reduces system test times. BIST systems can also be used for testing integrated circuits at the wafer, chip, and system levels. Since they are independent of specific chip logic functions, BIST test systems can be used on any number of different types of circuit chips. The BIST approach also permits IC chips to be tested after they have been assembled into a computer, even though they are inaccessible to more traditional maintenance techniques. This will be the case, for example, when the IC is immersed in a liquid coolant to increase its performance.
Even though BIST test systems offer many advantages over alternative techniques, they have yet to be developed to their full potential. BIST testing systems have significant shortcomings when used in integrated circuits having 100,000 or more devices. BIST systems usually generate random numbers as test operands. The quality of many of the test operands, in terms of stressing the part, may be poor. When an integrated circuit has a high number of devices or transistors and as the operand goes deeper and deeper into the logic on the integrated circuit, the test becomes less and less effective. If there is a defect in the integrated circuit at a latch in the middle of the integrated circuit, there is a distinct possibility that the defect may go undetected. Certain areas of the integrated circuit may be untestable in that a defect may not propagate through many layers of logic and to an output pin to cause a test result indicating a defect. The result is that the integrated circuit may test xe2x80x9cgoodxe2x80x9d when in fact it is a part with a defect should be scrapped.
One means of alleviating this problem is to incorporate BIST scan circuitry into the inner layers of logic. This scan circuitry provides a means of both stimulating additional activity, and of capturing potentially failing signals that would otherwise be missed.
BIST scan is accomplished by substituting special xe2x80x98scan latches xe2x80x99 for the standard latches contained in the functional logic. These scan latches function the same as a standard latch during normal system operation, but during BIST operations they can behave as both the operand generator and the signature analyzer described above.
In a xe2x80x98full scan xe2x80x99 BIST design, every system latch is actually a scan latch. This provides maximum test coverage, and is simple to design, but uses a great deal of IC resources, and may be too expensive to implement. A popular alternative is xe2x80x98partial scan, xe2x80x99 where only certain key latches get converted to scan latches, selected for maximum impact with the least cost.
Currently, a logic designer converts certain latches of a circuit to scan latches. The logic designer places the scan latches based on his or her experience. The placement of the scan latches is not based on any criteria other than the logic designer""s knowledge. The problem is that even an experienced logic designer generally may be unable to place the scan latches so that a significant number of errors are detected. In other words, the scan latches may not be placed where the significant number of errors are detected. Currently, errors are detected and basically counted on a chip wide level.
As a result, there is need for a method and apparatus for determining which of the latches of a logic module should be converted into scan latches. In addition, there is a need for optimizing the placement of the scan latches so that a maximum number of errors can be detected. Furthermore, there is a need for a method and apparatus that does this automatically and one that can be used during simulation of a circuit design.
An integrated circuit apparatus includes main logic for performing digital logic operations. Also included on the integrated circuit apparatus is testing logic for performing dynamic tests of the main logic. This testing logic enables xe2x80x9cBuilt-In Self Test,xe2x80x9d or BIST.
A simulation uses the pseudorandom number generator of the BIST circuitry to test the logic as designed and to convert certain of the latches in the logic to scan latches. The method optimizes the placement of the scan latches so that the maximum number of faults are detected by the scan latches. The system is used in a partial scan integrated circuit which uses a combination of traditional fault simulation and some additional bookkeeping. A logic simulation is run on the logic with single xe2x80x9cstuck-atxe2x80x9d faults injected into the circuit. While the test is being run, the number of faults detected are maintained in a table or record for every latch in the system. A separate list of faults detected at every scan latch is maintained. This simulation is like having full scan on the logic, based on the data collected and the statistics collected. Certain of the latches are turned into scan latches. For example, the latches having above a certain number of faults may be turned into scan latches, or the latches having any faults may be turned into scan latches. The result is that the particular latches that are turned into scan latches are optimized so that they can catch the most number of faults within the logic. Advantageously, a full scan is no longer necessary and a partial scan will detect most of the faults at the various latches. As a result, the selection of which latches to turn into scan latches is optimized so that it will result in finding the most faults that occur within the system. This minimizes the IC or logic resources needed for a successful test by using partial scan methodology. It also provides time and cost savings in the test insertion process and minimizes the required logic resources. A single pass of fault simulation yields statistical data on the entire design and can be used to optimally place the scan latches for a partial scan system.
This method is suited to be adapted to existing techniques, such as transition counting. Another criterion for converting a latch into a scan latch is the occurrence of a low transition count at a latch""s output. During a simulation test, these low transition count latches can be determined. A low transition count indicates a point of poor controllability. A point of poor controllability is another criterion for converting a latch to a scan latch. This assures that more of the faults will be detected. Thus, the invention provides an apparatus and method that is adaptable and can be used to sensitize certain paths in logic so that faults that might otherwise go unnoticed are captured at output pins or at scan latches. An additional advantage of the testing method is that it also could do boundary scan type testing, much like the JTAG standard, found at IEEE/ANSI 1149.1-1990.